package com.wuzhishan.news.mapper;

import com.wuzhishan.news.pojo.BlogFavor;
import com.wuzhishan.news.pojo.Result;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface favorMapper {
    /**
     * 根据文章id和用户id，查找喜欢记录
     * @param articleId
     * @param userId
     * @return
     */
    BlogFavor getFavorByArticleIdAndUserId(@Param("articleId") String articleId,@Param("userId") long userId);
    /**
     * 添加喜欢记录
     * @param favor
     */
    void saveFavor(BlogFavor favor);

    /**
     * 文章喜欢数目
     * @param articleId
     * @return
     */
    int articleFavors(Long articleId);

    /**
     * 通过用户Id，获取用户喜欢信息
     * @param userId
     * @return
     */
    List<BlogFavor> getFavorByUserId(long userId);

    /**
     * 用户喜欢文章数量
     * @param userId
     * @return
     */
    int favorCount(long userId);

    /**
     * 取消喜欢
     * @param articleId
     * @param userId
     * @return
     */
    void unfavor(@Param("articleId") String articleId, @Param("userId") long userId);
}
